﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Isha.Entities;
using System.Linq.Expressions;
using Isha.Services.Infrastructure;
using Isha.Data.Infrastructure;
using Isha.Repositories.Infrastructure;

namespace Isha.Services
{
    public interface IContentItemService : IServiceBase
    {
        void Initialize(IContentItemRepository contentitemRepository, IUnitOfWork unitOfWork);
    
        void CreateContentItem(ContentItem contentitem);
        void UpdateContentItem(ContentItem contentitem);
        void DeleteContentItem(long id); 
        ContentItem FetchContentItem(long id);
        IEnumerable<ContentItem> FetchContentItems();

        ContentItem FetchHome();
        ContentItem Fetch404();
        IEnumerable<ContentItem> FetchContentItemsByParent(long Id);       
        ContentItem FetchContentItemByLink(string linktext);
        ContentItem FetchContentItemByLink(string linktext, int parentItemId);        
        IEnumerable<ContentItem> FetchChildItems(long Id);
    }
}
